#ifndef SEQUENCEMANAGER_H
#define SEQUENCEMANAGER_H

#include <QFile>
#include "IPlugin.h"
#include "Plugin.h"
#include "SequenceWorker.h"
#include "Constants.h"

class SequenceManager : public Plugin, public IPlugin
{
   Q_OBJECT
   Q_INTERFACES(IPlugin)

public:
   SequenceManager();

   Plugin* getPlugin();

   void importSequences();
   void parseSequence(QFile &file);

signals:
   void signalSetColor(quint32 led,
                       QColor color);

public slots:
   void slotStartService();
   void slotStopService();
   void slotConfigUpdate(const QString &key,
                         QVariant &value);
   void slotEventNotification(Event event);

protected:
   SequenceWorker *theSequenceWorker;
   quint32 theNumberLeds;
};

#endif // SEQUENCEMANAGER_H
